package com.wwg;

import java.util.Arrays;

/**
 * @author: wwg
 * @date: 2022/2/18 9:25
 */

public class KafkaPartitionTest {

    public static void main(String[] args) {

        int numPartitionsForTopic = 5;
        int consumersForTopicSize = 3;
        int numPartitionsPerConsumer = numPartitionsForTopic / consumersForTopicSize;
        int consumersWithExtraPartition = numPartitionsForTopic % consumersForTopicSize;
        System.out.println("numPartitionsPerConsumer:" + numPartitionsPerConsumer);
        System.out.println("consumersWithExtraPartition:" + consumersWithExtraPartition);

        //List<TopicPartition> partitions = AbstractPartitionAssignor.partitions(topic, numPartitionsForTopic);
        for (int i = 0, n = consumersForTopicSize; i < n; i++) {
            int start = numPartitionsPerConsumer * i + Math.min(i, consumersWithExtraPartition);
            int length = numPartitionsPerConsumer + (i + 1 > consumersWithExtraPartition ? 0 : 1);
            //assignment.get(consumersForTopic.get(i).memberId).addAll(partitions.subList(start, start + length));
            System.out.println("start:" + start);
            System.out.println("start + length:" + (start + length));
        }

    }
}
